Q: アプリケーションの中で、Rendezvous TXT レコード内にプロトコル固有の情報をいくつか格納しているのですが、サービスの登録後にその情報を更新する必要が生じる場合があります。このようなことは可能でしょうか。 A: Mac OS X 10.2.x では、CFNetService の CFNetServiceSetProtocolSpecificInformation または NSNetService の -setProtocolSpecificInformation を対応するサービスの登録後に呼び出しても、TXT レコードに対して何の効果もありません。アプリケーションが、そのアプリケーションのサービスを登録した後で TXT レコードの更新を必要するときは、低水準の DNSServiceDiscovery API を使用するしかありません。関数 DNSServiceRegistrationUpdateRecord を使用して、登録サービスのデフォルト TXT レコードを更新できます。この関数は、TXT レコードの TTL(存続時間)をパラメータとして受け取ります。Mac OS X 10.2.x の TXT レコードのデフォルト TTL は 60 秒であり、0 を渡すと値は自動的に 60 と見なされます。
Mac OS X 10.3 以降では、CFNetService の CFNetServiceSetProtocolSpecificInformation または NSNetService の -setProtocolSpecificInformation を呼び出すことにより、登録済みの TXT レコードを更新できます。
[2003 年 10 月 23 日]
|